# 文件哈希计算（处理大文件）

import hashlib

def hash_file(file_path, algorithm='sha256', buffer_size=65536):
    """
    计算文件的哈希值
    :param file_path: 文件路径
    :param algorithm: 哈希算法，默认为'sha256'
    :param buffer_size: 读取缓冲区大小（字节）
    :return: 十六进制哈希字符串
    """
    hasher = hashlib.new(algorithm)
    
    with open(file_path, 'rb') as f:
        while True:
            data = f.read(buffer_size)
            if not data:
                break
            hasher.update(data)
    
    return hasher.hexdigest()

# 测试文件哈希
'''large_file.txt是测试加密文件,该文件是我自己创建,需要使用时换成待加密文件'''
file_hash = hash_file('large_file.txt') 
print("File SHA256:", file_hash)
